use std::fs;
static OUT_DIR: &str = "src/rpc/pb";

fn main() {
    let protos = [
        "proto/basic.proto",
        "proto/auth.proto",
        "proto/user.proto",
        "proto/role.proto",
        "proto/menu.proto",
        "proto/dept.proto",
        "proto/post.proto",
        "proto/permission.proto",
        "proto/oauth.proto",
        "proto/system.proto",
    ];

    fs::create_dir_all(OUT_DIR).unwrap();
    tonic_build::configure()
        .build_server(true)
        .out_dir(OUT_DIR)
        .compile_protos(&protos, &["proto/"])
        .unwrap();
        
    // 确保在proto文件变化时重新构建
    for proto in &protos {
        println!("cargo:rerun-if-changed={}", proto);
    }
}
